home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 44
/
Aminet 44 (2001)(GTI - Schatztruhe)[!][Aug 2001].iso
/
Aminet
/
comm
/
tcp
/
AmigaDynsCX.lha
/
AmigaDynsCX.rexx
< prev
Wrap
OS/2 REXX Batch file
|
2001-05-23
|
2KB
|
73 lines
/* $VER: AmigaDynsCX.rexx 1.0 (23-05-2001)
*
*/
PARSE ARG dyns
dynsUsername=''
dynsPassword=''
dynsHost=''
dynsDomain=''
dynsIP=''
if pos('-u',dyns) > 0 then parse var dyns x'-u' dynsUsername x
if pos('-p',dyns) > 0 then parse var dyns x'-p' dynsPassword x
if pos('-h',dyns) > 0 then parse var dyns x'-h' dynsHost x
if pos('-d',dyns) > 0 then parse var dyns x'-d' dynsDomain x
if pos('-i',dyns) > 0 then parse var dyns x'-i' dynsIP x
if dynsUsername='' then fehler2('no username given')
if dynsPassword='' then fehler2('no password given')
if dynsHost='' then fehler2('no hostname given')
cr = '0D'x
lf = '0A'x
crlf = cr || lf
IF ~Show('L', 'rxsocket.library') THEN
IF ~AddLib('rxsocket.library', 0, -30, 0) THEN
Abend('Could not open rxsocket.library')
IF ~IsLibOn('SOCKET') THEN fehler('No TCP/IP stack running.')
socket = OpenConnection('TCP', 80, 'www.dyns.net')
IF socket < 0 THEN fehler('Could not connect to server <www.dyns.net>.')
CALL SetSockOpt(socket, 'SOCKET', 'RCVTIMEO', 60)
msg = 'GET /postscript011.php?username='dynsUsername'&password='dynsPassword'&host='dynsHost'&domain='dynsDomain'&ip='dynsIP' HTTP/1.1'crlf,
|| 'User-Agent: AmigaDynsCX.rexx 1.0'crlf,
|| 'Host: www.dyns.net'crlf,
|| crlf
IF send(socket, msg) ~= Length(msg) THEN fehler(ErrorString())
call recvline(socket, 'LINE', 512)
parse var line http ecode emessage
if ecode~=200 then fehler('HTTP-Error:'ecode emessage)
do until line=''
call recvline(socket, 'LINE', 512)
line = Strip(line, 'T', '0D0A'x)
end
call recvline(socket, 'LINE', 512)
call recvline(socket, 'LINE', 512)
line = Strip(line, 'T', '0D0A'x)
CALL CloseSocket(socket)
parse var line rcode rmessage
if rcode='200' then say 'OK! 'rmessage
else call fehler('Error:' rcode rmessage)
EXIT
/** Error handling **/
fehler: PROCEDURE
PARSE ARG reason
SAY '*** AmigaDynsCX.rexx error:' reason
EXIT 20
fehler2: PROCEDURE
PARSE ARG reason
SAY '*** AmigaDynsCX.rexx error:' reason
say 'usage: rx amigadyns.cx.rexx <-u USERNAME> <-p PASSWORD> <-h HOSTNAME> [-d DOMAIN] [-i IP]'
say
say 'example: rx AmigaDynsCX.rexx -u joe -p foo -h robinson -d dyns.cx -i 44.344.34.32'
say ' or: rx AmigaDynsCX.rexx -u joe -p foo -h robinson.dyns.cx -i 44.344.34.32'
say ' or: rx AmigaDynsCX.rexx -u joe -p foo -h robinson.dyns.cx'
EXIT 20